목표 🎯
- 모델: 간단한 소셜 네트워크입니다.
- 사용자는 그래프의 노드로 표현됩니다.
- 친구 관계는 무방향 간선입니다.
- 과제:네트워크를 구성하고 질의하기 위해 일련의 명령을 처리하세요.
표현 방식 💾
우리는 인접 리스트를 사용하여 그래프를 저장할 것입니다.
이것은 리스트들의 배열입니다. 인덱스 `i`에 위치한 리스트에는 사용자 `i`의 모든 친구가 저장됩니다.
// 친구 관계: (0,1), (0,2), (1,2)
adj = [
0:[1, 2],
1:[0, 2],
2:[0, 1],
3:[],
]
adj = [
0:[1, 2],
1:[0, 2],
2:[0, 1],
3:[],
]
연산 ⚙️
다음 네 가지 명령어를 구현하게 됩니다:
add u v친구 관계를 추가합니다.
degree u사용자 u의 친구 수를 세어줍니다.
isfriend u vu와 v가 친구인지 확인합니다.
count_greater xx명 이상의 친구를 가진 사용자의 수를 세어줍니다.